June 8, 2019

The source data

The source data for our application is the R data set "island" which provides islands size in thousand square miles:

The User Interface

Our Shiny interface takes two input:
1. The dream destination island, in variable inputValue
selectInput('inputValue'
, 'Pick up your favorite destination'
, names(islands)
, selected = "Tasmania")

2. The area unit to convert the island size, in variable conversion
radioButtons('conversion'
, 'Choose the unit to convert the Island Size into'
, c("Acre"=1
, "Hectare"=2
, "Square Kilometer"=3
, "Number of Football Field"=4)

The Server

The Shiny server uses a conversion table based on square miles. For example, 1 square miles represents 484 football fields.

t(conversions)
     Acres Hectares Square Kilometers Number of Football Fields
[1,]   640  258.999             2.589                       484

The server reactively returns three variables to the interface:
1. island: The island name
output$island <- renderPrint({ input$inputValue })
2. size: the size in square miles calculated in a reactive function
output$size <- renderPrint({ mySizeFun() })
3. convertedSize: the size converted into selected area unit
output$convertedSize <- renderPrint({ myConvertedSizeFun() })

It's your turn!